Push Notification এবং Background Services দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা মোবাইল অ্যাপ্লিকেশন এবং ওয়েব সাইটগুলোর জন্য ব্যবহারকারীদের সাথে যোগাযোগ রাখার এবং তাদের অভিজ্ঞতা উন্নত করার জন্য ব্যবহৃত হয়। এই দুটি প্রযুক্তি ব্যবহারকারীদের জন্য গুরুত্বপূর্ণ আপডেট, বিজ্ঞপ্তি বা অন্যান্য কার্যক্রম পৌঁছে দিতে সহায়ক। নিচে Push Notification এবং Background Services এর পরিচিতি, সুবিধা, এবং ব্যবহারের বিস্তারিত আলোচনা করা হয়েছে।
Push Notification (পুশ নোটিফিকেশন)
Push Notification হল একটি বার্তা যা ব্যবহারকারীর ডিভাইসে সরাসরি পাঠানো হয়, এমনকি যখন অ্যাপটি চালু না থাকে বা ব্যাকগ্রাউন্ডে চলে যায়। এটি অ্যাপ্লিকেশন থেকে সার্ভার বা ক্লাউড সিস্টেমের মাধ্যমে ব্যবহারকারীকে নির্দিষ্ট সময় বা প্রয়োজন অনুযায়ী পাঠানো হয়।
Push Notification এর প্রক্রিয়া
- এপ্লিকেশন এবং সার্ভার যোগাযোগ: ব্যবহারকারী যখন একটি অ্যাপ ইনস্টল করেন, তখন অ্যাপটি একটি ডিভাইস টোকেন (যেমন Firebase Cloud Messaging বা Apple Push Notification Service) সার্ভারে রেজিস্টার করে। এই টোকেনটি অ্যাপের পরিচয় এবং ডিভাইসের জন্য একটি নির্দিষ্ট চিহ্ন।
- Notification পাঠানো: অ্যাপের সার্ভার বা ক্লাউড সিস্টেম যখন কোনও নতুন বার্তা বা আপডেট পেতে চায়, তখন সার্ভার পুশ নোটিফিকেশন পাঠানোর জন্য ব্যবহারকারীর ডিভাইসের টোকেন ব্যবহার করে।
- User Interaction: ব্যবহারকারী যদি নোটিফিকেশনটি ক্লিক করে, তাহলে এটি অ্যাপ্লিকেশন খুলে সেই নির্দিষ্ট কার্যকলাপ বা স্ক্রীনে নিয়ে আসে।
Push Notification এর সুবিধা
- ব্যবহারকারীর সাথে যোগাযোগ রাখা: অ্যাপটির কার্যক্রম বা নতুন আপডেটের জন্য ব্যবহারকারীকে বার্তা প্রেরণ করা সম্ভব হয়।
- ইনস্ট্যান্ট আপডেট: অ্যাপ্লিকেশন বন্ধ বা ব্যাকগ্রাউন্ডে থাকলেও ব্যবহারকারী নতুন তথ্য বা বিজ্ঞপ্তি পেতে পারেন।
- ব্যবহারকারী এনগেজমেন্ট: নোটিফিকেশন পাঠানোর মাধ্যমে ব্যবহারকারীকে অ্যাপে ফিরিয়ে আনা যায়, যা অ্যাপের এনগেজমেন্ট বাড়াতে সহায়তা করে।
- বিশেষ বার্তা পাঠানো: অ্যাপটি কোনো নির্দিষ্ট কার্যক্রম (যেমন প্রোমোশন, নতুন আপডেট, মেসেজ) সম্পর্কে ব্যবহারকারীকে অবহিত করতে পারে।
Push Notification এর উদাহরণ
Firebase Cloud Messaging (FCM): এটি Google এর একটি পরিষেবা যা Android এবং iOS অ্যাপে পুশ নোটিফিকেশন পাঠাতে ব্যবহৃত হয়। FCM ব্যবহারকারীকে সহজে বার্তা পাঠাতে সহায়ক।
উদাহরণ:
const messaging = firebase.messaging(); messaging.getToken({ vapidKey: 'your-public-vapid-key' }) .then(function(currentToken) { if (currentToken) { console.log("Push notification token:", currentToken); } }).catch(function(err) { console.log('Error getting token:', err); });
Background Services (ব্যাকগ্রাউন্ড সার্ভিস)
Background Services হল অ্যাপের একটি অংশ যা অ্যাপ্লিকেশন ব্যাকগ্রাউন্ডে চলতে থাকে এবং কিছু নির্দিষ্ট কাজ করে যেমন ডেটা সিঙ্ক্রোনাইজেশন, আপডেট চেক করা, বা পুশ নোটিফিকেশন প্রক্রিয়া চালানো। এই পরিষেবাগুলি মোবাইল ডিভাইসে অ্যাপ্লিকেশন বন্ধ থাকা সত্ত্বেও কাজ করে।
Background Services এর প্রক্রিয়া
- প্রাথমিক কনফিগারেশন: অ্যাপ্লিকেশন যখন প্রথম চালু হয়, তখন এটি ব্যাকগ্রাউন্ড সার্ভিসটি রেজিস্টার করে এবং কিছু নির্দিষ্ট সময় পর পর (যেমন 10 মিনিট পর পর) কিছু নির্দিষ্ট কাজ শুরু করার জন্য সিস্টেমের কাছ থেকে অনুমতি নেয়।
- অ্যাপ ব্যাকগ্রাউন্ডে চলে যাওয়ার পর কাজ করা: অ্যাপ ব্যাকগ্রাউন্ডে চলে যাওয়ার পরেও ব্যাকগ্রাউন্ড সার্ভিস কাজ চালিয়ে যায়, যেমন অ্যাপ্লিকেশনের ডেটা সিঙ্ক্রোনাইজেশন, পুশ নোটিফিকেশন, বা অন্যান্য কার্যকলাপ।
- ব্যাকগ্রাউন্ড সার্ভিস সম্পন্ন হওয়া: সার্ভিসের কাজ শেষ হলে, এটি সিস্টেমের সাথে যোগাযোগ করে, এবং সার্ভিসটি বন্ধ হয়ে যায়।
Background Services এর সুবিধা
- অ্যাপ বন্ধ থাকলেও কাজ চালিয়ে যাওয়া: অ্যাপ্লিকেশন বন্ধ থাকার পরেও নির্দিষ্ট কাজগুলো চলতে থাকে, যেমন ডেটা সিঙ্ক্রোনাইজেশন বা বার্তা গ্রহণ।
- ব্যবহারকারীর অভিজ্ঞতা উন্নত করা: অ্যাপটি ব্যাকগ্রাউন্ডে থাকা অবস্থায়ও ব্যবহারকারীকে বিজ্ঞপ্তি বা আপডেট পাঠাতে সাহায্য করে, ফলে তাদের অভিজ্ঞতা উন্নত হয়।
- রিসোর্স ব্যবহার: ব্যাকগ্রাউন্ড সার্ভিস সীমিত পরিমাণ রিসোর্স ব্যবহার করে, যার ফলে ফোনের ব্যাটারি বা CPU-তে কম চাপ পড়ে।
Background Services এর উদাহরণ
Android: Android এ WorkManager বা JobScheduler ব্যবহার করে ব্যাকগ্রাউন্ডে কাজ পরিচালনা করা হয়। উদাহরণ:
WorkRequest uploadWorkRequest = new OneTimeWorkRequest.Builder(MyWorker.class) .setInitialDelay(10, TimeUnit.MINUTES) .build(); WorkManager.getInstance(context).enqueue(uploadWorkRequest);iOS: iOS এ Background Fetch বা NSURLSession ব্যবহার করা হয়।
UIApplication.shared.setMinimumBackgroundFetchInterval(UIApplication.backgroundFetchIntervalMinimum)
Push Notification এবং Background Services এর মধ্যে পার্থক্য
| বিষয় | Push Notification | Background Services |
|---|---|---|
| মূল কাজ | ব্যবহারকারীর কাছে তথ্য বা বার্তা পাঠানো, যাতে তারা অ্যাপ খোলার প্রয়োজন ছাড়াই জানাতে পারেন। | ব্যাকগ্রাউন্ডে অ্যাপের কার্যক্রম চালানো যেমন ডেটা সিঙ্ক্রোনাইজেশন, ফেচিং, বা সময়সূচী ভিত্তিক কাজ। |
| অ্যাপের অবস্থা | অ্যাপ চালু না থাকলেও কাজ করতে পারে, কিন্তু ব্যবহারকারীকে অবহিত করতে push notification পাঠায়। | অ্যাপ চালু বা ব্যাকগ্রাউন্ডে থাকলে কাজ করতে থাকে। |
| ব্যবহারকারী এনগেজমেন্ট | ব্যবহারকারীকে অ্যাপে ফিরিয়ে আনার জন্য বিজ্ঞপ্তি পাঠানো। | ব্যাকগ্রাউন্ড কার্যক্রম চালিয়ে অ্যাপের পারফরম্যান্স উন্নত করা। |
| সামগ্রিক পারফরম্যান্স | কম পারফরম্যান্স খরচ, কারণ শুধুমাত্র নোটিফিকেশন পাঠানো হয়। | বেশি পারফরম্যান্স খরচ, কারণ ব্যাকগ্রাউন্ড কার্যক্রম চলছে। |
সারাংশ
- Push Notification ব্যবহারকারীর সঙ্গে যোগাযোগ রাখার একটি কার্যকরী পদ্ধতি, যা অ্যাপ বন্ধ থাকার পরেও বার্তা বা আপডেট পাঠাতে সক্ষম।
- Background Services ব্যাকগ্রাউন্ডে চলতে থাকে এবং অ্যাপ্লিকেশনের কার্যক্রম পরিচালনা করে, যেমন ডেটা সিঙ্ক্রোনাইজেশন বা অন্য কিছু কার্যক্রম সম্পাদন করা।
এই দুটি কৌশল একত্রে ব্যবহার করলে, অ্যাপ্লিকেশন বা ওয়েবসাইটে ব্যবহৃত তথ্য দ্রুত পৌঁছানো এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করা সম্ভব হয়।
Push Notification হলো একটি ছোট বার্তা বা বিজ্ঞপ্তি যা একটি মোবাইল ডিভাইস বা ডেস্কটপ ব্রাউজারে ইউজারের কাছে পাঠানো হয়, যেটি অ্যাপ্লিকেশন বা ওয়েবসাইট থেকে আসে। এটি ইউজারের ডিভাইসে সতর্কতা বা একটি নতুন তথ্য বা ইভেন্টের জন্য বিজ্ঞপ্তি হিসেবে প্রদর্শিত হয়, এমনকি যদি সেই অ্যাপ্লিকেশনটি ব্যাকগ্রাউন্ডে বা বন্ধ অবস্থায় থাকে।
Push Notification সাধারণত Real-time updates, promotions, reminders, news alerts, এবং অন্যান্য কাস্টম তথ্য পাঠানোর জন্য ব্যবহৃত হয়। এর মাধ্যমে অ্যাপ্লিকেশন ব্যবহারকারীর সাথে সরাসরি যোগাযোগ করতে পারে এবং ব্যবহারকারীদের আপডেট রাখতে সাহায্য করে।
Push Notification এর কার্যপ্রণালী
Push Notification সিস্টেমটি সাধারণত তিনটি প্রধান উপাদান নিয়ে কাজ করে:
- Client (ব্যবহারকারীর ডিভাইস): এই অংশটি ব্যবহারকারীর মোবাইল ডিভাইস বা ডেস্কটপ ব্রাউজার। ব্যবহারকারী যখন একটি অ্যাপ্লিকেশন ইনস্টল করে বা ওয়েবসাইটে সাইন ইন করে, তখন তার ডিভাইসে একটি unique push token বা device token তৈরি হয়, যা সেই ডিভাইসের জন্য একটি ইউনিক আইডেন্টিফায়ার হিসেবে কাজ করে।
- Push Notification Service (পুশ নোটিফিকেশন সার্ভিস): এটি একটি মাধ্যম বা সার্ভিস যা push notification পাঠানোর কাজ করে। Android এর জন্য Firebase Cloud Messaging (FCM) এবং iOS এর জন্য Apple Push Notification Service (APNs) সবচেয়ে সাধারণ push notification সার্ভিস। এই সার্ভিসের মাধ্যমে সার্ভার থেকে পুশ নোটিফিকেশন ক্লায়েন্টের ডিভাইসে পাঠানো হয়।
- Server (সার্ভার): এটি সেই সার্ভার যেখানে আপনার অ্যাপ্লিকেশন বা ওয়েবসাইটের তথ্য বা বার্তা সংরক্ষিত থাকে। যখন অ্যাপ্লিকেশন বা ওয়েবসাইট একটি পুশ নোটিফিকেশন পাঠানোর সিদ্ধান্ত নেয়, তখন সার্ভার পুশ সার্ভিসে নির্দিষ্ট ডিভাইসের জন্য বার্তা পাঠিয়ে দেয়।
Push Notification এর প্রকারভেদ
Push Notification কয়েকটি ভিন্ন ধরনের হতে পারে:
- Silent Push Notification: এটি সাধারণত নীরবভাবে কাজ করে, অর্থাৎ এটি ব্যবহারকারীকে কোনো দৃশ্যমান বার্তা দেয় না, তবে পুশ নোটিফিকেশন সার্ভিসকে কিছু তথ্য প্রেরণ করে, যেমন অ্যাপ্লিকেশনটির ব্যাকগ্রাউন্ড প্রসেসে কোনো আপডেট করা।
- Rich Push Notification: এটি সাধারণ পুশ নোটিফিকেশনের চেয়ে বেশি ইন্টারেকটিভ এবং গ্রাফিক্যাল, যেখানে ছবি, অডিও, ভিডিও বা অ্যাকশন বোতাম থাকতে পারে।
- Transactional Push Notification: সাধারণত এই ধরনের নোটিফিকেশনগুলো ব্যবহারকারীর অ্যাকাউন্ট বা ইভেন্ট সম্পর্কিত থাকে, যেমন পেমেন্ট কনফার্মেশন, অর্ডার শিপিং, প্রোফাইল আপডেট ইত্যাদি।
- Promotional Push Notification: এগুলি সাধারণত ব্যবসায়িক বিজ্ঞাপন, ডিসকাউন্ট অফার, সেল এবং নতুন প্রোডাক্ট রিলিজ সম্পর্কিত তথ্য প্রদান করে।
Push Notification এর সুবিধা
- Real-time Communication: Push Notification ব্যবহারকারীদের সাথে তাত্ক্ষণিক যোগাযোগ করতে সাহায্য করে, যেমন নতুন বার্তা, ইভেন্ট, বা আপডেট পাঠানো।
- Engagement বৃদ্ধি: এটি অ্যাপ্লিকেশন বা ওয়েবসাইটের ব্যবহারকারীদের নিয়মিতভাবে অ্যাক্টিভ রাখতে সাহায্য করে এবং ব্যবহারকারীদের আরও বেশি এনগেজড রাখে।
- Customized Alerts: এটি ব্যবহারকারীর আগ্রহ বা আচরণের উপর ভিত্তি করে কাস্টমাইজড নোটিফিকেশন পাঠাতে সহায়ক, যা আরও প্রাসঙ্গিক এবং ব্যক্তিগতকৃত বার্তা প্রদান করে।
- Retention Increase: পুশ নোটিফিকেশন ব্যবহারকারীদের অ্যাপ্লিকেশন বা ওয়েবসাইটে ফিরে আসতে উদ্বুদ্ধ করে, যা রিটেনশন রেট বাড়াতে সহায়ক।
- Low Cost Communication: এটি একটি সাশ্রয়ী উপায়ে সরাসরি ব্যবহারকারীর কাছে তথ্য পৌঁছানোর উপায়, যা অন্য প্রচারের তুলনায় কম খরচে কার্যকরী।
Push Notification এর অসুবিধা
- Over-notification: যদি পুশ নোটিফিকেশনগুলো অত্যধিক বা অপ্রাসঙ্গিক হয়, তবে ব্যবহারকারীরা বিরক্ত হতে পারে এবং অবশেষে নোটিফিকেশন গ্রহণ বন্ধ করতে পারে।
- Privacy Concerns: Push Notification সিস্টেমটি ব্যবহারকারীর ব্যক্তিগত তথ্য যেমন অবস্থান এবং অন্যান্য ডেটা সংগ্রহ করতে পারে, যা গোপনীয়তা বিষয়ক উদ্বেগ সৃষ্টি করতে পারে।
- Device Compatibility: কিছু পুরনো ডিভাইসে বা অপারেটিং সিস্টেমে push notification সঠিকভাবে কাজ নাও করতে পারে।
Push Notification এর উদাহরণ
- Facebook: ব্যবহারকারীরা যদি নতুন মেসেজ বা ফ্রেন্ড রিকোয়েস্ট পান, তাহলে Facebook তাদের ডিভাইসে পুশ নোটিফিকেশন পাঠায়।
- E-commerce Apps: যেমন Amazon বা eBay, তারা নতুন প্রোডাক্ট অথবা ডিসকাউন্ট অফারের পুশ নোটিফিকেশন পাঠায়।
- News Apps: নিউজ অ্যাপ্লিকেশনগুলি বড় খবর বা ব্রেকিং নিউজ সম্পর্কে ব্যবহারকারীদের পুশ নোটিফিকেশন পাঠাতে ব্যবহার করে।
সারাংশ
Push Notification একটি শক্তিশালী টুল যা মোবাইল অ্যাপ্লিকেশন বা ওয়েবসাইটে ব্যবহারকারীদের সাথে সরাসরি যোগাযোগ করতে সাহায্য করে। এটি দ্রুত এবং কার্যকরী উপায়ে ব্যবহারকারীদেরকে নতুন আপডেট, প্রমোশন, অথবা গুরুত্বপূর্ণ তথ্য জানাতে সহায়ক। তবে, এর সঠিক ব্যবহার নিশ্চিত করতে হবে যাতে এটি ব্যবহারকারীদের বিরক্ত না করে এবং গোপনীয়তা রক্ষিত থাকে।
Firebase Cloud Messaging (FCM) হল একটি পুশ নোটিফিকেশন সার্ভিস যা Firebase প্ল্যাটফর্ম থেকে মোবাইল অ্যাপ্লিকেশনে পুশ নোটিফিকেশন পাঠাতে ব্যবহৃত হয়। Cordova অ্যাপ্লিকেশনগুলিতে FCM ব্যবহার করে পুশ নোটিফিকেশন পাঠানোর জন্য, আপনাকে Firebase এবং Cordova প্লাগইন ব্যবহার করতে হবে।
এখানে আমরা ধাপে ধাপে দেখাবো কিভাবে Firebase Cloud Messaging (FCM) সেটআপ করা যায় এবং Cordova অ্যাপ্লিকেশন থেকে পুশ নোটিফিকেশন পাঠানো যায়।
ধাপ ১: Firebase প্রকল্প তৈরি করা
- Firebase Console এ যান: Firebase Console এ যান এবং আপনার Firebase অ্যাকাউন্ট দিয়ে লগইন করুন।
- নতুন প্রকল্প তৈরি করুন: "Add project" বাটনে ক্লিক করে একটি নতুন Firebase প্রকল্প তৈরি করুন।
- Firebase Cloud Messaging অ্যাক্টিভেট করুন:
- Firebase Console থেকে আপনার প্রকল্প নির্বাচন করুন।
- Cloud Messaging ট্যাবে যান এবং Firebase Cloud Messaging সেবা সক্রিয় করুন।
- এখানে আপনাকে Server key এবং Sender ID দেওয়া হবে, যা আপনাকে আপনার Cordova অ্যাপ্লিকেশনে কনফিগার করতে হবে।
ধাপ ২: Cordova প্লাগইন ইনস্টল করা
FCM প্লাগইন আপনার Cordova অ্যাপ্লিকেশনে ইন্টিগ্রেট করার জন্য, আপনাকে প্রথমে প্রয়োজনীয় Cordova প্লাগইন ইনস্টল করতে হবে।
FCM প্লাগইন ইনস্টল করুন
FCM এর জন্য একটি জনপ্রিয় Cordova প্লাগইন হল cordova-plugin-firebasex। এটি Firebase-এর প্রায় সমস্ত সেবা সাপোর্ট করে এবং Push Notification এর জন্য ব্যবহৃত হয়।
এই প্লাগইন ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
cordova plugin add cordova-plugin-firebasexAndroid প্ল্যাটফর্ম যোগ করুন
যেহেতু আপনি FCM ব্যবহার করবেন, আপনার অ্যাপের জন্য Android প্ল্যাটফর্ম যোগ করতে হবে:
cordova platform add androidধাপ ৩: Firebase কনফিগারেশন ফাইল যোগ করা
- Firebase Console থেকে
google-services.jsonডাউনলোড করুন:- Firebase Console থেকে Project Settings এ যান।
- General ট্যাবের অধীনে "Your apps" সেকশনে Android আইকনে ক্লিক করুন এবং আপনার Android অ্যাপের প্যাকেজ নাম দিয়ে google-services.json ফাইলটি ডাউনলোড করুন।
- google-services.json ফাইলটি আপনার Cordova অ্যাপের
platforms/android/app/ফোল্ডারে পেস্ট করুন।
ধাপ ৪: Firebase Push Notification কোড ইন্টিগ্রেট করা
এখন আপনার Cordova অ্যাপ্লিকেশনে Firebase Cloud Messaging (FCM) এর মাধ্যমে Push Notification পাঠানোর জন্য কিছু কোড যুক্ত করতে হবে।
App.js বা index.js ফাইলে কোড যোগ করুন:
document.addEventListener('deviceready', function() {
// FCM Initialization
window.FirebasePlugin.onMessageReceived(function(message) {
console.log("Push notification received: ", message);
// Handle message when received
alert("Notification received: " + message.notification.body);
});
// Register for push notifications
window.FirebasePlugin.getToken(function(token) {
console.log("FCM Token: ", token);
// Here you can send the token to your server to send push notifications
}, function(error) {
console.error("Error getting FCM token: ", error);
});
// Notification opened (when the app is in background or killed)
window.FirebasePlugin.onNotificationOpened(function(notification) {
console.log("Notification opened: ", notification);
alert("Notification opened: " + notification.body);
});
}, false);ধাপ ৫: Firebase Cloud Messaging Token সেবা
- Token ব্যবহার করুন:
যখন FCM প্লাগইন চালু হয়, তখনgetTokenফাংশনটি ব্যবহারকারী ডিভাইসের জন্য একটি ইউনিক টোকেন জেনারেট করে। আপনি এই টোকেনটি আপনার সার্ভারে পাঠাতে পারেন, যাতে আপনি নির্দিষ্ট ডিভাইসে পুশ নোটিফিকেশন পাঠাতে পারেন। Push Notification পাঠানো:
FCM সার্ভার থেকে push নোটিফিকেশন পাঠানোর জন্য, Firebase এর Server Key এবং Sender ID প্রয়োজন হবে।উদাহরণস্বরূপ, আপনার সার্ভার থেকে FCM API ব্যবহার করে push নোটিফিকেশন পাঠানো যেতে পারে:
POST https://fcm.googleapis.com/fcm/send
Content-Type: application/json
Authorization: key=YOUR_SERVER_KEYফর্ম্যাট:
{
"to": "FCM_DEVICE_TOKEN",
"notification": {
"title": "New Message",
"body": "You have a new message!"
}
}ধাপ ৬: iOS প্ল্যাটফর্মে FCM সেটআপ (যদি iOS অ্যাপের জন্য কাজ করতে চান)
iOS অ্যাপের জন্য Firebase Cloud Messaging ব্যবহার করতে, আপনাকে কিছু অতিরিক্ত কনফিগারেশন করতে হবে:
- Apple Push Notification Service (APNS) সঠিকভাবে কনফিগার করুন।
- GoogleService-Info.plist ফাইলটি Firebase Console থেকে ডাউনলোড করুন এবং আপনার Xcode প্রোজেক্টের
ios/ফোল্ডারে পেস্ট করুন। - iOS কোড: iOS এর জন্য Push Notification শংসাপত্র তৈরি করতে এবং তা Firebase এর সাথে কনফিগার করতে হবে।
সারাংশ
Firebase Cloud Messaging (FCM) ব্যবহার করে Cordova অ্যাপ্লিকেশনে পুশ নোটিফিকেশন সেটআপ করা একটি সহজ প্রক্রিয়া। এতে আপনাকে Firebase Console থেকে google-services.json এবং Server Key ব্যবহার করতে হবে। Cordova প্লাগইন cordova-plugin-firebasex ইনস্টল করার পর, আপনি Firebase এর টোকেন ব্যবহার করে পুশ নোটিফিকেশন পাঠাতে পারেন। App.js ফাইলে প্রাসঙ্গিক কোড যুক্ত করার মাধ্যমে আপনি নোটিফিকেশন গ্রহণ এবং পাঠানোর কাজ করতে পারবেন।
আপনার সার্ভার থেকে FCM API ব্যবহার করে পুশ নোটিফিকেশন পাঠানোর জন্য Server Key এবং ডিভাইসের টোকেন ব্যবহার করতে হবে।
Background Services ব্যবহার করার মাধ্যমে আপনি আপনার Cordova অ্যাপ্লিকেশনটির পারফরম্যান্স উন্নত করতে পারেন। Background Services (যেমন Background Fetch, Background Geolocation, Background Audio, ইত্যাদি) মোবাইল অ্যাপ্লিকেশনগুলোকে ব্যাকগ্রাউন্ডে কার্যক্রম পরিচালনা করতে সক্ষম করে, যা অ্যাপের ইউজার ইন্টারফেস বা প্রধান কার্যক্রমের ওপর কোনো নেতিবাচক প্রভাব ফেলবে না। তবে, এটি সঠিকভাবে পরিচালনা না করলে আপনার অ্যাপের ব্যাটারি খরচ এবং স্মৃতি ব্যবহার বাড়িয়ে ফেলতে পারে।
Background Services এর সুবিধা
- নিরবচ্ছিন্ন কার্যক্রম: অ্যাপটি যখন ব্যাকগ্রাউন্ডে চলে, তখনও কার্যক্রম চালিয়ে যেতে পারে যেমন ডেটা আপডেট, পুশ নোটিফিকেশন পাঠানো, GPS ট্র্যাকিং ইত্যাদি।
- পারফরম্যান্স অপটিমাইজেশন: ইউজারের ইন্টারঅ্যাকশন ছাড়া অ্যাপের কিছু কাজ ব্যাকগ্রাউন্ডে চালিয়ে পারফরম্যান্স বাড়ানো যেতে পারে।
- ব্যাটারি ব্যবস্থাপনা: ব্যাকগ্রাউন্ড কার্যক্রম ঠিকমতো পরিচালনা করলে অ্যাপের ব্যাটারি খরচ কমানো সম্ভব হতে পারে।
Cordova অ্যাপের জন্য Background Services ব্যবহারের পদ্ধতি
১. Background Fetch ব্যবহার
Background Fetch ব্যবহার করে আপনার অ্যাপ ব্যাকগ্রাউন্ডে কাজ করতে পারে, যেমন নিয়মিতভাবে সার্ভার থেকে ডেটা আপডেট করা। এই কাজটি অ্যাপের UI বা ইউজার ইন্টারঅ্যাকশনের সাথে কোনোরকম হস্তক্ষেপ ছাড়াই সম্পন্ন হয়।
প্রয়োজনীয় প্লাগইন ইনস্টল:
cordova plugin add cordova-plugin-background-fetchব্যবহার উদাহরণ:
backgroundFetch.configure( { stopOnTerminate: false, // অ্যাপ বন্ধ হলে ফেচ বন্ধ হবে না startOnBoot: true, // ডিভাইস রিস্টার্ট হলে আবার শুরু হবে enableHeadless: true // অ্যাপ বন্ধ হলেও ব্যাকগ্রাউন্ড কাজ করবে }, function(taskId) { console.log('[BackgroundFetch] task: ' + taskId); // আপনার কোড এখানে, যেমন সার্ভার থেকে ডেটা ফেচ করা backgroundFetch.finish(taskId); }, function(error) { console.log('[BackgroundFetch] failed: ' + error); } );
২. Background Geolocation ব্যবহার
Background Geolocation ব্যবহৃত হয় যখন আপনাকে ইউজারের অবস্থান ট্র্যাক করতে হয়, তা ইউজার অ্যাপ ব্যবহার করছে কিনা, কিংবা অ্যাপ ব্যাকগ্রাউন্ডে চললেও।
প্রয়োজনীয় প্লাগইন ইনস্টল:
cordova plugin add cordova-plugin-background-geolocationব্যবহার উদাহরণ:
var config = { desiredAccuracy: 10, stationaryRadius: 25, distanceFilter: 30, debug: true, // ইউজারকে লোকেশন দেখানো হবে stopOnTerminate: false, // অ্যাপ বন্ধ হলেও লোকেশন ট্র্যাক হবে }; backgroundGeolocation.configure(function(location) { console.log(location); // এখানে আপনার অবস্থান প্রক্রিয়াকরণ কোড }, function(error) { console.log(error); }, config); backgroundGeolocation.start();
৩. Background Audio ব্যবহার
আপনি যদি আপনার অ্যাপে অডিও প্লে করতে চান যা ব্যাকগ্রাউন্ডে চলবে, তখন Background Audio প্লাগইন ব্যবহার করা যেতে পারে।
প্রয়োজনীয় প্লাগইন ইনস্টল:
cordova plugin add cordova-plugin-background-audioব্যবহার উদাহরণ:
var media = new Media('http://www.example.com/audio.mp3'); media.play();
৪. Push Notifications
Push notifications ব্যবহার করে অ্যাপের কার্যক্ষমতা বৃদ্ধি করা যায়, বিশেষ করে যখন অ্যাপ ব্যাকগ্রাউন্ডে থাকে। ইউজার যখন অ্যাপ ব্যবহার করছে না, তখনও তাদের কাছে নোটিফিকেশন পৌঁছানো যায়।
প্রয়োজনীয় প্লাগইন ইনস্টল:
cordova plugin add phonegap-plugin-pushব্যবহার উদাহরণ:
var push = PushNotification.init({ android: { senderID: "YOUR SENDER ID" }, ios: { alert: "true", badge: "true", sound: "true" } }); push.on('registration', function(data) { console.log("Device registered with ID: " + data.registrationId); }); push.on('notification', function(data) { console.log("Received Notification: ", data); }); push.on('error', function(e) { console.log("Push error: ", e); });
পারফরম্যান্স বজায় রাখতে Background Services ব্যবহারের কৌশল
- ব্যাকগ্রাউন্ড প্রসেসিং অপটিমাইজ করা: ব্যাকগ্রাউন্ডে চলমান প্রসেসগুলোকে সঠিকভাবে পরিকল্পনা করুন, যাতে সেগুলো ইউজারের ব্যাটারি এবং ডিভাইসের পারফরম্যান্সের ওপর প্রভাব ফেলতে না পারে।
- প্রয়োজনীয় প্লাগইন ব্যবহার করুন: শুধুমাত্র যেসব ব্যাকগ্রাউন্ড কার্যক্রম আপনার অ্যাপে প্রয়োজন, সেই প্লাগইনগুলো ইনস্টল করুন, যাতে অতিরিক্ত রিসোর্স ব্যবহার না হয়।
- ডেটা সিঙ্ক্রোনাইজেশন সীমিত করা: ব্যাকগ্রাউন্ডে ডেটা সিঙ্ক্রোনাইজেশনের সময় নির্দিষ্ট সময়সীমা অনুসরণ করুন। যদি সম্ভব হয়, তাহলে নির্দিষ্ট সময় অন্তর সিঙ্ক্রোনাইজেশন করুন।
- ব্যাটারি খরচ কমানো: ব্যাকগ্রাউন্ডে চলমান যে কোন কার্যক্রমের জন্য Low Power Mode সক্ষম করুন, যেমন Background Fetch এর ক্ষেত্রে ডেটা আপডেটের সময় নির্দিষ্ট সময় পর পর করা।
সারাংশ
Background Services ব্যবহার করার মাধ্যমে Cordova অ্যাপ্লিকেশনগুলোকে আরও কার্যক্ষম ও ইউজার-ফ্রেন্ডলি করা যায়, বিশেষ করে যখন অ্যাপটি ব্যাকগ্রাউন্ডে চলে। তবে, এই সেবাগুলি সঠিকভাবে পরিচালনা না করলে ব্যাটারি খরচ এবং ডিভাইসের পারফরম্যান্সের ওপর নেতিবাচক প্রভাব ফেলতে পারে। Background Fetch, Background Geolocation, Push Notifications ইত্যাদি ব্যবহার করে, আপনি আপনার অ্যাপের পারফরম্যান্স বাড়াতে এবং ইউজারের অভিজ্ঞতা উন্নত করতে পারেন।
Local Notifications ব্যবহারকারীদের অ্যাপ্লিকেশন সম্পর্কিত গুরুত্বপূর্ণ তথ্য বা সতর্কতা পাঠানোর একটি কার্যকরী পদ্ধতি, এমনকি যখন অ্যাপটি ব্যাকগ্রাউন্ডে বা বন্ধ অবস্থায় থাকে। Cordova আপনাকে মোবাইল অ্যাপ্লিকেশনে লোকাল নোটিফিকেশন ইন্টিগ্রেট করার জন্য একটি প্লাগইন প্রদান করে।
Local Notification ইন্টিগ্রেশন করার ধাপসমূহ
১. Cordova Local Notification প্লাগইন ইনস্টল করা
প্রথমে cordova-plugin-local-notifications প্লাগইনটি আপনার প্রোজেক্টে ইনস্টল করতে হবে। এটি ইনস্টল করতে নিচের কমান্ডটি চালান:
cordova plugin add cordova-plugin-local-notificationsএটি আপনার Cordova প্রোজেক্টে লোকাল নোটিফিকেশন প্লাগইনটি যোগ করবে।
২. অ্যাপ্লিকেশনে Local Notification ব্যবহার করার জন্য কনফিগার করা
প্লাগইনটি ইনস্টল করার পর, আপনি আপনার অ্যাপ্লিকেশনে লোকাল নোটিফিকেশন ব্যবহারের জন্য কনফিগার করতে পারবেন। নিচে একটি উদাহরণ দেওয়া হল যেখানে একটি লোকাল নোটিফিকেশন তৈরি করা হয়েছে।
৩. অনুমতি চাওয়া (iOS এর জন্য)
iOS ডিভাইসে, আপনাকে প্রথমে নোটিফিকেশন দেখানোর অনুমতি চাওয়া দরকার। নিচে এর উদাহরণ দেওয়া হলো:
document.addEventListener('deviceready', function() {
// অনুমতি চাওয়া
cordova.plugins.notification.local.requestPermission(function(granted) {
if (granted) {
console.log('অনুমতি granted');
} else {
console.log('অনুমতি denied');
}
});
});৪. একটি Local Notification তৈরি এবং ট্রিগার করা
একবার অনুমতি পেয়ে গেলে, আপনি একটি লোকাল নোটিফিকেশন তৈরি এবং ট্রিগার করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো:
document.addEventListener('deviceready', function() {
// নোটিফিকেশন শিডিউল করা
cordova.plugins.notification.local.schedule({
id: 1,
title: 'হ্যালো, বিশ্ব!',
text: 'এটি একটি লোকাল নোটিফিকেশন।',
trigger: { at: new Date(new Date().getTime() + 5 * 1000) }, // ৫ সেকেন্ড পর ট্রিগার হবে
led: 'FF0000',
sound: 'file://sound.mp3',
icon: 'icon.png'
});
});এখানে:
id: নোটিফিকেশনের একটি ইউনিক আইডি।title: নোটিফিকেশনের শিরোনাম।text: নোটিফিকেশনের বর্ণনা।trigger: ট্রিগার করার সময়, এখানে ৫ সেকেন্ড পরে নোটিফিকেশন ট্রিগার হবে।led: নোটিফিকেশন LED এর রঙ।sound: নোটিফিকেশনের জন্য শব্দ।icon: নোটিফিকেশনের আইকন।
৫. Notification ক্লিক হ্যান্ডলিং
আপনি যদি চান যে, ব্যবহারকারী নোটিফিকেশন ক্লিক করলে কিছু একশন হয়, তবে এটি নিচের মতো হ্যান্ডেল করতে পারবেন:
document.addEventListener('deviceready', function() {
cordova.plugins.notification.local.on('click', function(notification) {
console.log('নোটিফিকেশন ক্লিক করা হয়েছে:', notification);
// এখানে আপনি অন্য একটি স্ক্রীনে নেভিগেট করতে বা অন্য কোন অ্যাকশন নিতে পারেন
});
});এখানে, ব্যবহারকারী যদি নোটিফিকেশনটি ক্লিক করেন, তাহলে এটি সেই নোটিফিকেশনটি লগ করবে এবং আপনি সেখানে আপনার নির্দিষ্ট একশন নিতে পারবেন।
৬. Notification বাতিল বা ক্লিয়ার করা
আপনি নির্দিষ্ট নোটিফিকেশন বাতিল করতে বা সমস্ত নোটিফিকেশন ক্লিয়ার করতে পারেন:
- নির্দিষ্ট নোটিফিকেশন বাতিল করা:
cordova.plugins.notification.local.cancel(1, function() {
console.log('নোটিফিকেশন বাতিল করা হয়েছে');
});- সকল নোটিফিকেশন বাতিল করা:
cordova.plugins.notification.local.clearAll(function() {
console.log('সব নোটিফিকেশন ক্লিয়ার করা হয়েছে');
});৭. বিদ্যমান নোটিফিকেশন আপডেট করা
আপনি কোনো বিদ্যমান নোটিফিকেশন আপডেট করতে পারেন:
cordova.plugins.notification.local.update({
id: 1,
title: 'আপডেট করা নোটিফিকেশন',
text: 'এটি একটি আপডেটেড নোটিফিকেশন!'
});৮. পেন্ডিং নোটিফিকেশন বাতিল করা (ঐচ্ছিক)
আপনি যদি শিডিউল করা কিন্তু ট্রিগার হওয়া নোটিফিকেশন বাতিল করতে চান:
cordova.plugins.notification.local.cancelAll();৯. রিয়েল ডিভাইসে পরীক্ষা করা
লোকাল নোটিফিকেশন সাধারণত এমুলেটরে সঠিকভাবে কাজ নাও করতে পারে, তাই আপনি যেকোনো রিয়েল ডিভাইসে এটি পরীক্ষা করে দেখতে পারবেন যে নোটিফিকেশন সঠিকভাবে প্রদর্শিত হচ্ছে কি না।
সারাংশ
Cordova-তে Local Notification ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনের মাধ্যমে ব্যবহারকারীদের সাথে যোগাযোগ রাখতে পারেন, এমনকি যখন অ্যাপটি ব্যাকগ্রাউন্ডে বা বন্ধ অবস্থায় থাকে। cordova-plugin-local-notifications প্লাগইনটি ব্যবহার করে:
- নোটিফিকেশন শিডিউল করতে পারেন,
- নোটিফিকেশন ক্লিক হ্যান্ডেল করতে পারেন,
- নোটিফিকেশন বাতিল বা আপডেট করতে পারেন,
- এবং আরও অনেক কাস্টমাইজড ফিচার ব্যবহার করতে পারেন।
এটি মোবাইল অ্যাপ্লিকেশনের জন্য একটি শক্তিশালী এবং কার্যকরী ফিচার।
Read more